שימוש ב PDO
ניסיתי לקרוא קצת על נושא ה PDO
מישהו יכול להסביר לי איפה או למה כדאי להשתמש בזה?
מה בדיוק נותן לי ה PDO ?
בתודה מראש,
רועי.
7 תשובות
כשיש לך יישום PHP שצריך לעבוד עם בסיס נתונים, אתה רוצה לעבוד עם בסיס הנתונים באמצעות PHP. (אלא מה?)
ב-PHP הייתה ספרייה עם ממשק פרוצדורלי (תתעלם אם אתה לא יודע מה זה OOP) למטרה זו. בגרסה האחרונה של PHP, היא הוגדרה כמיושנת, ולא מומלץ להשתמש בה יותר. (היא תוסר מ-PHP באחת הגרסאות הבאות.)
כבר לפני כמה גרסאות של PHP, היו בה כמה הרחבות מובנות לעבודה עם בסיסי נתונים: PDO ו-MySQLi.
PDO היא הרחבה ל-PHP שמספקת ממשק פשוט ועוצמתי לעבודה עם כל מיני סוגים של בסיסי נתונים ב-PHP.
יש גם את ההרחבה המובנית MySQLi.
יש כמה הבדלים ביניהם שאתה צריך לדעת.
PDO מספקת ממשק מונחה עצמים (OO) בלבד, ו-MySQLi מספקת גם ממשק פרוצדורלי, ולפיכך ידידותית למתחילים ב-PHP.
נוסף על כך, MySQLi היא ספציפית לבסיס נתונים מסוג MySQL (שסביר להניח שבו אתה משתמש), ויש בה תכונות שמותאמות ל-MySQL במיוחד. PDO יכולה לעבוד עם הרבה סוגים של בסיסי נתונים, ומה שאתה מרוויח מזה זה שבעתיד, אם תחליף סוג בסיס נתונים, כמעט לא תצטרך לשנות את הקוד שמשתמש בזה. (חוץ מדברים שמתאימים רק לבסיס הנתונים שעבדת בו.)
כדי ללמוד כל אחד מהם, כל מה שאתה צריך זה חיפוש פשוט בגוגל וסקירה של הדוקומנטציה. תחזור אם יש עוד שאלות. בהצלחה! :-)
ליאור, לא לכולנו יש את המוח שלך. לא כולנו קולטים דבר כזה בפעם הראשונה כל כך מהר. ללמוד מההתחלה רק מהדוקומנטציה לאנשים שלא רגילים לזה (גם מבחינת השפה) יכול להיות קשה בהתחלה. אני יודע שלי זה היה.
א' תודה רבה, אבל זה באמת באמת לא קשה. קשה זה ללמוד 5-6 פונקציות מובנות?
ב' מבחינת השפה האנגלית, עד לפני שנה בקושי ידעתי, גם היום בגלל שרק קראתי צוחקים עלי בבית ספר על המבטא הישראלי מאד של הדיבור שלי. זה הכל עניין של אימון. הייתי די גרוע באנגלית, אף אחד מההורים שלי לא יודע אנגלית טוב ובוודאי שלא שמעתי מהם בקושי אנגלית כל החיים שלי. צריך לקרוא המון ולעבוד חזק עם google translate.
מצטער על הגסות שלי מקודם...
א':
תתפלא. :-)
אני תמיד משתדל להסביר דברים בלי להניח שמי שאני מסביר לו יודע את שאר הדברים שאני יודע או שיש לו את הניסיון שלי. כך, ההבנה היא מקסימלית, ויש פחות שאלות (שזה דבר טוב כי יכול להיות שהן לא היו עולות מלכתחילה, ואז הוא היה נתקע עם הבנה שגויה).
בדיוק מאותה סיבה, אני משתדל מאוד שלא להעריך פחות מדי את הלומדים שנתקעים על דברים "טיפשיים". (אני זוכר שאני הייתי שם. ואני עדיין שם לפעמים. :-))
במקרה הזה זו שאלה מסוג שונה, ויכול להיות שהגזמתי, אבל זה רק כי אני לא רוצה לקחת סיכויים מיותרים... אני רוצה שהשואל יקבל 100% מידע אמין, יעיל ומקיף. אני יודע שאני הייתי רוצה.
ב':
גם כאן אתה צודק. אבל אם היית אומר לי את אותו דבר בשלבים מסוימים בלימוד שלי - הייתי אומר לך שאני לא מסוגל. מובן שצריך להתחיל מאיפשהו, ולכן אני תמיד מעודד לכיוון הזה... "כל מה שאתה צריך זה חיפוש פשוט בגוגל וסקירה של הדוקומנטציה," ואם אח"כ יש בעיות עם זה - "תחזור [אם יש עוד שאלות]."
א'
הפונקציות החשובות הן: שליחת שאילתה (מה יש לדעת פה?), וייבוא המידע (מה יש לדעת פה?). הפונקציות הפחות חשובות הן שליחת שאילתה בלי כוונה לקבל מידע (אפילו יותר פשוט מהראשונה!), בדיקת מספר השורות (מה יש לדעת פה?) והפונקצייה היחידה שהיא קצת יותר "מסובכת" זה prepare. אבל הוא לא דיבר כאן על prepare (למיטב הבנתי).
ב'
אתה לא יודע כמה קש אני אכלתי באנגלית. הייתי פותר בחופשים חוברות של בית ספר, הייתי עושה פתקים, הייתי יושב שעות על תוכנות, מה שאתה רוצה. אתה לא מבין בכלל כמה השקעתי בזה, ברמות אחרות לגמרי. היום תודה לאל אני במצב הרבה יותר טוב, אבל לפני שנה לא הייתי יודע דברים בסיסיים מאד (באוצר מילים, הדקדוק שלי היה תמיד טוב).
ג'
אנשים לא צריכים שיאכילו אותם בכפית, הם צריכים לדעת לתפקד וללמוד עצמאית! אחרת הם לא יצליחו לא לא בתיכון (למי שמאיתנו לא בתיכון עדיין), לא באוניברסיטה, לא בקורסים שונים בכל מסגרת. אנשים צריכים ללמוד ל-ע-ב-ו-ד. ונכון שזה קשה שבכל העידן המודרני אנשים רק הופכים להיות עצלנים יותר, אבל צריך ללמוד ללמוד לבד. וזה אומר לקרוא הרבה הרבה הרבה מאמרים בויקיפדיה, ללמוד לחפש בגוגל נכון, ללמוד להצליב מקורות מידע, ללמוד אנגלית (בנושאים ספציפיים זה נכון, לדוגמה בגמרא אנגלית לא תעזור כל כך).